
import { notification, Modal } from 'antd';
export function SetHeads(options) {
  if (options.headers) {
    options.headers.Authorization = authorization;
    options.headers.Authorization =
      'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtaWQiOjE1NzY3LCJ1bmFtZSI6IjE0NzgyMzg4OTg1IiwidGVsIjoiMTQ3ODIzODg5ODUiLCJvZW1pZCI6IjAiLCJuYmYiOjE1NTcxNTAzOTIsImV4cCI6MTU1NzE2NTYwMCwiaXNzIjoiSGlzaG9wWGtkUGFzc1BvcnQiLCJhdWQiOiJNQ0gifQ.7uVTaHZSB44z-QSxEZazzkxj9IJUX9BD0qQxrhkrx9M';
    // options.headers['Req-Host'] = "xiaokeduo.com";
    options.headers['Req-Host'] = location.host;
  } else {
    options.headers = {
      Authorization: authorization,
      Authorization:
        'Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJtaWQiOjE1NzY3LCJ1bmFtZSI6IjE0NzgyMzg4OTg1IiwidGVsIjoiMTQ3ODIzODg5ODUiLCJvZW1pZCI6IjAiLCJuYmYiOjE1NTcxNTAzOTIsImV4cCI6MTU1NzE2NTYwMCwiaXNzIjoiSGlzaG9wWGtkUGFzc1BvcnQiLCJhdWQiOiJNQ0gifQ.7uVTaHZSB44z-QSxEZazzkxj9IJUX9BD0qQxrhkrx9M',
      //'Req-Host': 'xiaokeduo.com',
      'Req-Host': location.host,
    };
  }
  return options;
}
export function showErrorMessage(e) {
  notification.error({
    message: `出现错误`,
    description: e.message,
  });
  console.log(e)
}
export const checkStatus = response => {
  if (response.status >= 200 && response.status < 300) {
    return response;
  }
  if (response.status == 403) {
    response
      .clone()
      .text()
      .then(function (res) {
        if (!res) return;
        res = JSON.parse(res);
        if (res.Code == 403 && typeof res.Data == 'string' && res.Data.indexOf('http') > -1) {
          document.cookie = 'token=0;domain=xiaokeduo.net;expires=' + new Date(0).toUTCString();
          window.location.href = res.Data;
          return false;
        }
      });
  }
  const errortext = codeMessage[response.status] || response.statusText;
  notification.error({
    message: `请求错误 ${response.status}: ${response.url}`,
    description: errortext,
  });
  const error = new Error(errortext);
  error.name = response.status;
  error.response = response;
  throw error;
};

export const cachedSave = (response, hashcode) => {
  /**
   * Clone a response data and store it in sessionStorage
   * Does not support data other than json, Cache only json
   */
  const contentType = response.headers.get('Content-Type');
  if (contentType && contentType.match(/application\/json/i)) {
    // All data is saved as text
    response
      .clone()
      .text()
      .then(content => {
        sessionStorage.setItem(hashcode, content);
        sessionStorage.setItem(`${hashcode}:timestamp`, Date.now());
      });
  }
  return response;
};

export async function awaitDemo(res, second) {
  let result = await sleep(second);

  //console.log(result);// 两秒之后会被打印出来
  return res;
}
export function sleep(second) {
  return new Promise((resolve, reject) => {
    setTimeout(() => {
      resolve(' enough sleep~');
    }, second);
  });
}
export const codeMessage = {
  200: '服务器成功返回请求的数据。',
  201: '新建或修改数据成功。',
  202: '一个请求已经进入后台排队（异步任务）。',
  204: '删除数据成功。',
  400: '发出的请求有错误，服务器没有进行新建或修改数据的操作。',
  401: '用户没有权限（令牌、用户名、密码错误）。',
  403: '用户得到授权，但是访问是被禁止的。',
  404: '发出的请求针对的是不存在的记录，服务器没有进行操作。',
  406: '请求的格式不可得。',
  410: '请求的资源被永久删除，且不会再得到的。',
  422: '当创建一个对象时，发生一个验证错误。',
  500: '服务器发生错误，请检查服务器。',
  502: '网关错误。',
  503: '服务不可用，服务器暂时过载或维护。',
  504: '网关超时。',
};


